/** 是否为合法的URL
 * @param {string} path
 * @returns {Boolean}
 */
export function isExternal(path) {
  return /^(https?:|mailto:|tel:)/.test(path)
}

/** 是否是字符串
 * @param {string} str
 * @returns {Boolean}
 */
export function isString(str) {
  if (typeof str === 'string' || str instanceof String) {
    return true
  }
  return false
}

/** 是否是一个数组
 * @param {Array} arg
 * @returns {Boolean}
 */
export function isArray(arg) {
  if (typeof Array.isArray === 'undefined') {
    return Object.prototype.toString.call(arg) === '[object Array]'
  }
  return Array.isArray(arg)
}

/** 是否为空
 * @param params
 */
export function validatenull(params) {
  if (params) {
    return true
  }
  return false
}

/** 是否为英文
 * @param {String} str
 */
export function isEn(str) {
  if (/^[a-zA-Z]+$/.test(str)) return true
  return false
}

/**
 * 是否为中文
 * @param {String} str
 */
export function isCn(str) {
  // if (/.*[\u4e00-\u9fa5]+.*$/.test(str)) return true
  if (/^[\u4e00-\u9fa5]+$/.test(str)) return true
  return false
}

/**
 * 只能输入下划线 字母 数字
 */
export function _isEnNmuber(str) {
  if (/[^\w_]/g.test(str)) return false
  return true
}

/**
 * 以英文开头只能出现数字英文下划线
 */
export function _isEnNum(str) {
  if (/^[a-zA-Z][a-zA-Z0-9_]*$/.test(str)) return true
  return false
}
/**
 * 以英文开头只能出现数字小写英文下划线
 */
export function _isLowEnNum(str) {
  if (/^[a-z][a-z0-9_]*$/.test(str)) return true
  return false
}
/**
 * 是否为正整数
 */
export function isInteger(str) {
  if (/^[1-9][0-9]*$/.test(str)) return true
  return false
}

/**
 * 是否为中文、英文、数字和下划线
 */
export function isNoSpeialCharacters(str) {
  if (/^[\u4e00-\u9fa5_a-zA-Z0-9]+$/.test(str)) return true
  return false
}
/**
 * 是否为中文、英文、数字和下划线中划线
 */
export function isCnEnNumLine(str) {
  if (/^[\u4e00-\u9fa5-_a-zA-Z0-9]+$/.test(str)) return true
  return false
}
/**
 * 是否为英文、数字组合
 */
export function isEnOrNumber(str) {
  // if (/^[0-9a-zA-Z]+$/.test(str)) return true
  // return false
  if (/^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{6,20}$/.test(str)) return true
  return false
}
/**
 * 是否是特殊字符
 */
export function isSpeialCharacters(str) {
  if (/[^0-9a-zA-Z\u4e00-\u9fa5]+/.test(str)) return true
  return false
}
